Behavioral Types in Programming Languages

نویسندگان

  • Davide Ancona
  • Viviana Bono
  • Mario Bravetti
  • Joana Campos
  • Giuseppe Castagna
  • Pierre-Malo Deniélou
  • Simon J. Gay
  • Nils Gesbert
  • Elena Giachino
  • Raymond Hu
  • Einar Broch Johnsen
  • Francisco Martins
  • Viviana Mascardi
  • Fabrizio Montesi
  • Rumyana Neykova
  • Nicholas Ng
  • Luca Padovani
  • Vasco Thudichum Vasconcelos
  • Nobuko Yoshida
چکیده

A recent trend in programming language research is to use behavioral type theory to ensure various correctness properties of largescale, communication-intensive systems. Behavioral types encompass concepts such as interfaces, communication protocols, contracts, and choreography. The successful application of behavioral types requires a solid understanding of several practical aspects, from their representation in a concrete programming language, to their integration with other programming constructs such as methods and functions, to design and monitoring methodologies that take behaviors into account. This survey provides an overview of the state of the art of these aspects, which we summarize as the pragmatics of behavioral types. D. Ancona et al.. Behavioral Types in Programming Languages. Foundations and Trends © in Programming Languages, vol. 3, no. 2-3, pp. 95–230, 2016. DOI: 10.1561/2500000031.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compound Types: Strong Typing for Architecture Composition

How can strong typing in programming languages support software engineers to express their architectures? How can composition of architectures be expressed? Architectural roles, to be taken over by components, are behavioral types. This is supported best by programming languages using name equivalence of types. On the other hand, composing architectures works well only if structural equivalence...

متن کامل

Behavioral Subtyping in Object-Oriented Languages

Modularity and code reuse are two important features of object-oriented programming. Modularity means that adding new components does not require reveri cation or respeci cation of existing components. A common form of reuse in objectoriented programs is to add new subtypes to existing types and to invoke already existing procedures with objects of these new types. In such cases, behavior of pr...

متن کامل

From static to dynamic process types

Process types – a kind of behavioral types – specify constraints on message acceptance for the purpose of synchronization and to determine object usage and component behavior in object-oriented languages. So far process types have been regarded as a purely static concept for Actor languages incompatible with inherently dynamic programming techniques. We propose solutions of related problems cau...

متن کامل

From Types to Contracts: Supporting by Light-Weight Specifications the Liskov Substitution Principle∗

In this paper we review the main theoretical elements of behavioral subtyping in object-oriented programming languages in a semi-formal style that should allow software developers to understand better in which situations the Liskov substitution principle (objects of subclasses may stand for objects of superclasses) is violated. We then shortly discuss the specification of class contracts in beh...

متن کامل

Towards a Behavioral Analysis of Computer Algebra Programs ∗ ( Extended

We present our initial results on the behavioral analysis of computer algebra programs. Computer algebra programs written in symbolic computation languages such as Maple and Mathematica sometimes do not behave as expected [5], e.g. by triggering runtime errors or delivering wrong results. There has been a lot of research on applying formal techniques to classical programming languages, e.g. Jav...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Foundations and Trends in Programming Languages

دوره 3  شماره 

صفحات  -

تاریخ انتشار 2016